1. Technical Field
The present disclosure relates to a method of decoding a low-density parity-check (LDPC) code and an LDPC code system using the same.
2. Description of Related Art
An LDPC code is a linear block code and includes k-bit information and p-bit parity. That is, the total length n is the sum of k and p. A code rate representing the ratio of an information bit in length to the total length may be represented by the expression k/n. During encoding of the LDPC code, using a parity-check matrix, an input of k is received and an output of n is output.
A decoding algorithm of the LDPC code is based on a message passing algorithm. The message passing algorithm mainly includes two processes. First, bit-to-check message passing is performed. During bit-to-check message passing, bit nodes bound to the same check node transceive messages with each other in order to provide information on other bit nodes in the same group. Here, the bit-to-check bound structure is fixed so that the sum of bit determination values bound to the common check according to the parity-check matrix becomes an even number (to satisfy an even parity condition). After the bit-to-check message passing process, check-to-bit message passing is performed. During the check-to-bit message passing, check nodes bound to a single bit node perform an operation of transceiving messages with each other. The bit-to-check message passing and the check-to-bit message passing are iteratively performed until the LDPC code is decoded into a valid codeword or until the maximum iteration count has reached. When the LDPC code is used in connection to other codes, error correction ability is enhanced. However, parity bits are increased due to an additional encoding process, there is a problem in that code rate is reduced. In addition, an additional encoding process, and an increase in complexity due to a corresponding additional decoding process may not be avoided.
A basic LDPC code system according to related art may include, as illustrated in FIG. 1, an LDPC encoder that encodes an LDPC code which is input data so as transmitted to a channel, and an LDPC decoder that receives and decodes the LDPC code received through the channel.
A decoding process of the LDPC decoder is iteratively performed until a determined value (x_hat) becomes a valid codeword, or until the maximum iteration count has reached.
However, the LDPC code system having the above configuration according to the related art has problems in that, as described above, since the LDPC code is used in connection to other codes for the error correction ability, parity bits are increased due to an additional encoding process and thus code rate is reduced. In addition, there are problems of an additional encoding process and an increase in complexity due to a corresponding additional decoding process.